#ifndef _XX_YY_BMOCK_TEST_CONTROL_TOOLS
#define _XX_YY_BMOCK_TEST_CONTROL_TOOLS
#include "detail/bmock_control_tools.hpp"

namespace bmock {
	struct test_control_tools: public control_tools {
		virtual void error(const std::string &msg,const location &,bool fail=true,bool except=false) const;
		virtual void abort(const location &) const;
		virtual bool warn(const std::string &,const location &) const;
		virtual bool check_equal(const std::string &exp,const std::string &act,const std::string &msg,const location &) const;
		virtual void require_equal(size_t exp,size_t act,const std::string &msg,const location &) const;
		virtual bool warn_not_equal(size_t exp,size_t act,const std::string &msg,const location &) const;
		virtual bool check_less_or_equal(size_t exp,size_t act,const std::string &msg,const location &) const;
		virtual bool check_ptr(bool null_expected,bool is_null,const std::string &msg,const location &) const;
		
		virtual bool check_equal_no_msg(const std::string &exp,const std::string &act,const location &) const;
		virtual bool check_ptr_no_msg(bool null_expected,bool is_null,const location &) const;
	};
};

#endif